﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/PassportsModel" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/PassportsModel" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="PassportRequest">
    <xs:sequence>
      <xs:element minOccurs="0" name="AustralianBirthRegistrationCertificateDateOfIssueOfCertificate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="AustralianBirthRegistrationCertificateDateOfRegistrationOfBirth" type="xs:dateTime" />
      <xs:element minOccurs="0" name="AustralianBirthRegistrationCertificateFamilyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AustralianBirthRegistrationCertificateGivenName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AustralianBirthRegistrationCertificateNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AustralianBirthRegistrationCertificateStateOfIssue" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AustralianCitizenshipCertificatGivenNames" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AustralianCitizenshipCertificateDateOfIssue" type="xs:dateTime" />
      <xs:element minOccurs="0" name="AustralianCitizenshipCertificateFamilyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="AustralianCitizenshipCertificateNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="BornOnOrAfter20081986SupportingDocuments" nillable="true" type="tns:SupportingDocumentsRequest" />
      <xs:element minOccurs="0" name="EmergencyContactDetails" nillable="true" type="tns:EmergencyContactDetails" />
      <xs:element minOccurs="0" name="Guarantor" nillable="true" type="tns:Guarantor" />
      <xs:element minOccurs="0" name="HasNameChanged" type="xs:boolean" />
      <xs:element minOccurs="0" name="NameChangedRequest" nillable="true" type="tns:NameChangedRequest" />
      <xs:element minOccurs="0" name="PassportTravellerType" type="tns:ePassportTravellerType" />
      <xs:element minOccurs="0" name="PassportType" type="tns:ePassportType" />
      <xs:element minOccurs="0" name="PersonDetails" nillable="true" type="tns:PersonDetails" />
      <xs:element minOccurs="0" name="PreviousPassportDetails" nillable="true" type="tns:PreviousPassportDetails" />
      <xs:element minOccurs="0" name="SecurityQuestion" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="SecurityQuestionAnswer" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PassportRequest" nillable="true" type="tns:PassportRequest" />
  <xs:complexType name="SupportingDocumentsRequest">
    <xs:sequence>
      <xs:element minOccurs="0" name="AustralianPassportIssuedAfter01012000AndValid" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="FathersAustralianCitizenshipCertificate" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="FathersAustralianPermanentResidenceCertificate" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="FathersFullBirthCertificate" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="MothersAustralianCitizenshipCertificate" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="MothersAustralianPermanentResidenceCertificate" nillable="true" type="xs:boolean" />
      <xs:element minOccurs="0" name="MothersFullBirthCertificate" nillable="true" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SupportingDocumentsRequest" nillable="true" type="tns:SupportingDocumentsRequest" />
  <xs:complexType name="EmergencyContactDetails">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:ContactDetails">
        <xs:sequence>
          <xs:element minOccurs="0" name="RelationshipType" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="EmergencyContactDetails" nillable="true" type="tns:EmergencyContactDetails" />
  <xs:complexType name="ContactDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="Address" nillable="true" type="tns:ContactAddress" />
      <xs:element minOccurs="0" name="DaytimePhone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Email" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="EveningPhone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FaxPhone" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="MobilePhone" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ContactDetails" nillable="true" type="tns:ContactDetails" />
  <xs:complexType name="ContactAddress">
    <xs:sequence>
      <xs:element minOccurs="0" name="Postcode" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="State" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Suburb" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="UnitOrHouseNumberAndStreet" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ContactAddress" nillable="true" type="tns:ContactAddress" />
  <xs:complexType name="Guarantor">
    <xs:sequence>
      <xs:element minOccurs="0" name="MonthsKnownApplicant" type="xs:int" />
      <xs:element minOccurs="0" name="PassportNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="PersonDetails" nillable="true" type="tns:PersonDetails" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Guarantor" nillable="true" type="tns:Guarantor" />
  <xs:complexType name="PersonDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="BirthDate" type="xs:dateTime" />
      <xs:element minOccurs="0" name="CityOfBirth" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="ContactDetails" nillable="true" type="tns:ContactDetails" />
      <xs:element minOccurs="0" name="CountryOfBirth" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="FamilyName" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Gender" type="tns:eGender" />
      <xs:element minOccurs="0" name="GivenNames" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PersonDetails" nillable="true" type="tns:PersonDetails" />
  <xs:simpleType name="eGender">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Undefined">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">-1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Male" />
      <xs:enumeration value="Female" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="eGender" nillable="true" type="tns:eGender" />
  <xs:complexType name="NameChangedRequest">
    <xs:sequence>
      <xs:element minOccurs="0" name="NameChangedReasonDateOfIssue" type="xs:dateTime" />
      <xs:element minOccurs="0" name="NameChangedReasonDocumentRegistrationNumber" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="NameChangedReasonDocumentType" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="NameChangedRequest" nillable="true" type="tns:NameChangedRequest" />
  <xs:simpleType name="ePassportTravellerType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Undefined">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">-1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Ordinary" />
      <xs:enumeration value="Frequent" />
      <xs:enumeration value="Senior" />
      <xs:enumeration value="SeniorFrequent" />
      <xs:enumeration value="NorfolkIsland" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ePassportTravellerType" nillable="true" type="tns:ePassportTravellerType" />
  <xs:simpleType name="ePassportType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Undefined">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">-1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Adult" />
      <xs:enumeration value="Child" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="ePassportType" nillable="true" type="tns:ePassportType" />
  <xs:complexType name="PreviousPassportDetails">
    <xs:sequence>
      <xs:element minOccurs="0" name="HowManyStolenInThePast5years" type="xs:int" />
      <xs:element minOccurs="0" name="LostOrStolen" type="xs:boolean" />
      <xs:element minOccurs="0" name="PreviousAustralianPassportLostOrStolenDate" nillable="true" type="xs:dateTime" />
      <xs:element minOccurs="0" name="PreviousAustralianPassportNumber" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PreviousPassportDetails" nillable="true" type="tns:PreviousPassportDetails" />
  <xs:complexType name="PassportResponse">
    <xs:sequence>
      <xs:element minOccurs="0" name="RequestTaskId" nillable="true" type="xs:string" />
      <xs:element minOccurs="0" name="Status" type="tns:eStatus" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="PassportResponse" nillable="true" type="tns:PassportResponse" />
  <xs:simpleType name="eStatus">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Undefined">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">-1</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="Success" />
      <xs:enumeration value="Failed">
        <xs:annotation>
          <xs:appinfo>
            <EnumerationValue xmlns="http://schemas.microsoft.com/2003/10/Serialization/">-2</EnumerationValue>
          </xs:appinfo>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="eStatus" nillable="true" type="tns:eStatus" />
</xs:schema>